{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0.0\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "print(tf.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from tensorflow import keras\n",
    "from tensorflow.keras import layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"SRCNN_model\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "img (InputLayer)             [(None, 128, 128, 3)]     0         \n",
      "_________________________________________________________________\n",
      "conv2d (Conv2D)              (None, 128, 128, 64)      15616     \n",
      "_________________________________________________________________\n",
      "conv2d_1 (Conv2D)            (None, 128, 128, 32)      2080      \n",
      "_________________________________________________________________\n",
      "conv2d_2 (Conv2D)            (None, 128, 128, 3)       2403      \n",
      "=================================================================\n",
      "Total params: 20,099\n",
      "Trainable params: 20,099\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "inputs = keras.Input(shape=(128, 128, 3), name='img')\n",
    "\n",
    "x = layers.Conv2D(\n",
    "    filters=64,             # 卷积层神经元（卷积核）数目\n",
    "    kernel_size=9,          # 感受野大小\n",
    "    padding='same',         # padding策略（vaild 或 same）\n",
    "    activation=tf.nn.relu   # 激活函数\n",
    ")(inputs)\n",
    "\n",
    "x = layers.Conv2D(\n",
    "    filters=32,      \n",
    "    kernel_size=1,\n",
    "    padding='same',  \n",
    "    activation=tf.nn.relu\n",
    ")(x)\n",
    "\n",
    "outputs = layers.Conv2D(\n",
    "    filters=3,\n",
    "    kernel_size=5,          \n",
    "    padding='same'          # 不设置激活函数\n",
    ")(x)\n",
    "\n",
    "model = keras.Model(inputs=inputs, outputs=outputs, name='SRCNN_model')# 通过在图层图中指定其输入和输出来创建一个model\n",
    "  \n",
    "model.summary() # 查看模型摘要，需要模型built（实例化）后调用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import cv2 as cv\n",
    "import numpy as np\n",
    "\n",
    "'''\n",
    "CIFAR10 had't 128*128*3 images use bicubic alternatived,and bicubic use nearest alternatived.\n",
    "X_: image applied bicubic interpolation (low-resolution),(50000, 128, 128, 3)\n",
    "y_: image with original resolution (high-resolution),(10000, 128, 128, 3)\n",
    "'''\n",
    "\n",
    "ishape = 128\n",
    "\n",
    "# load data\n",
    "(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.cifar10.load_data()\n",
    "\n",
    "# 缩小数据集,控制内存占用(以下win10，8G内存可用)\n",
    "train_image = train_images[0:10000]\n",
    "test_image  = test_images[0:1000]\n",
    "\n",
    "X_train = np.array([cv.resize(i,(ishape,ishape), interpolation=cv.INTER_NEAREST) for i in train_image]) / 255.\n",
    "X_test  = np.array([cv.resize(i,(ishape,ishape), interpolation=cv.INTER_NEAREST) for i in test_image]) / 255.\n",
    "\n",
    "y_train = np.array([cv.resize(i,(ishape,ishape), interpolation=cv.INTER_CUBIC) for i in train_image]) / 255.\n",
    "y_test  = np.array([cv.resize(i,(ishape,ishape), interpolation=cv.INTER_CUBIC) for i in test_image]) / 255."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 8000 samples, validate on 2000 samples\n",
      "Epoch 1/3\n",
      "8000/8000 [==============================] - 480s 60ms/sample - loss: 0.2165 - mae: 0.1765 - val_loss: 0.0113 - val_mae: 0.0715\n",
      "Epoch 2/3\n",
      "8000/8000 [==============================] - 490s 61ms/sample - loss: 0.0088 - mae: 0.0615 - val_loss: 0.0055 - val_mae: 0.0467\n",
      "Epoch 3/3\n",
      "8000/8000 [==============================] - 480s 60ms/sample - loss: 0.0036 - mae: 0.0351 - val_loss: 0.0028 - val_mae: 0.0306\n",
      "1000/1 - 11s - loss: 0.0028 - mae: 0.0309\n",
      "Test loss: 0.0028563126549124716\n",
      "Test mae: 0.03087139\n"
     ]
    }
   ],
   "source": [
    "model.compile(optimizer=tf.keras.optimizers.Adam(0.01),\n",
    "              loss='mse',       \n",
    "              metrics=['mae'])    # 编译\n",
    "\n",
    "history = model.fit(X_train, y_train,\n",
    "                    batch_size=64,\n",
    "                    epochs=3,\n",
    "                    validation_split=0.2)# 训练\n",
    "\n",
    "test_scores = model.evaluate(X_test, y_test, verbose=2) # 评估\n",
    "\n",
    "print('Test loss:', test_scores[0])\n",
    "print('Test mae:', test_scores[1])\n",
    "\n",
    "# Save entire model to a HDF5 file\n",
    "model.save('SRCNN.h5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 使用\n",
    "\n",
    "## 跳过训练，加载模型即可直接使用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "\n",
    "# Recreate the exact same model, including weights and optimizer.\n",
    "model = tf.keras.models.load_model('SRCNN.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import cv2 as cv\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "ishape = 128\n",
    "\n",
    "#加载放大图像并显示\n",
    "img = cv.imread('automobile.png')\n",
    "\n",
    "img = cv.cvtColor(img, cv.COLOR_BGR2RGB)\n",
    "\n",
    "img = cv.resize(img,(ishape,ishape), interpolation=cv.INTER_NEAREST)# (36,36,3)->(128,128,3)\n",
    "\n",
    "plt.imshow(img)\n",
    "\n",
    "plt.xticks([]), plt.yticks([])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "\n",
    "img = np.reshape(img,(1,ishape,ishape,3)) / 255.\n",
    "\n",
    "# 处理图像超分辨率\n",
    "img_SR = model.predict(img)\n",
    "\n",
    "plt.imshow(img_SR[0])\n",
    "\n",
    "plt.xticks([]), plt.yticks([])\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "tensorflow2",
   "language": "python",
   "name": "tensorflow2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
